using System;
using System.Collections.Generic;
using System.Text;
using BuildingBasicDomain;
using CommonTypes;

namespace BuildingStructuralElements.Load.Slab_Loads
{
    class TransLinearLoad
    {

        // Storing force Height.
        FieldWithUndo m_Height;

        public double Height
        {
            get { return (double)m_Height.Value; }
            set { m_Height.Value = value; }
        }

        FieldWithUndo m_b_con_trans;

        public double b_con_trans
        {
            get { return (double)m_b_con_trans.Value; }
            set { m_b_con_trans.Value = value; }
        }

        FieldWithUndo m_b_con_long;

        public double b_con_long
        {
            get { return (double)m_b_con_long.Value; }
            set { m_b_con_long.Value = value; }
        }

        private bool m_IsAutomatic;

        public bool IsAutomatic
        {
            get { return m_IsAutomatic; }
            set { m_IsAutomatic = value; }
        }


        /// <summary>
        /// Constructor
        /// </summary>
        public TransLinearLoad(string name, Vector position, double bConLong, double bConTrans, double Height)

        {
            m_Height = new FieldWithUndo(this);
            m_b_con_long = new FieldWithUndo(this);
            m_b_con_trans = new FieldWithUndo(this);

            m_Height.Value = Height;
            m_b_con_long.Value = bConLong;
            m_b_con_trans.Value = bConTrans;

 
        }

       
        public void SetHeight(double val)
        {
            m_Height.SetNewValue(val);
        }
        public void Setb_con_long(double val)
        {
            m_b_con_long.SetNewValue(val);
        }
        public void Setb_con_trans(double val)
        {
            m_b_con_trans.SetNewValue(val);
        }



    }


    // without field with undo 
    /*
    class TransLinearLoad
    {

        // Storing force Height.
        FieldWithUndo m_Height;

        public double Height
        {
            get { return (double)m_Height.Value; }
            set { m_Height.Value = value; }
        }

        FieldWithUndo m_b_con_trans;

        public double b_con_trans
        {
            get { return (double)m_b_con_trans.Value; }
            set { m_b_con_trans.Value = value; }
        }

        FieldWithUndo m_b_con_long;

        public double b_con_long
        {
            get { return (double)m_b_con_long.Value; }
            set { m_b_con_long.Value = value; }
        }

        private bool m_IsAutomatic;

        public bool IsAutomatic
        {
            get { return m_IsAutomatic; }
            set { m_IsAutomatic = value; }
        }


        /// <summary>
        /// Constructor
        /// </summary>
        public TransLinearLoad(string name, Vector position, double bConLong, double bConTrans, double Height)
        {
            m_Height = new FieldWithUndo(this);
            m_b_con_long = new FieldWithUndo(this);
            m_b_con_trans = new FieldWithUndo(this);

            m_Height.Value = Height;
            m_b_con_long.Value = bConLong;
            m_b_con_trans.Value = bConTrans;


        }


        public void SetHeight(double val)
        {
            m_Height.SetNewValue(val);
        }
        public void Setb_con_long(double val)
        {
            m_b_con_long.SetNewValue(val);
        }
        public void Setb_con_trans(double val)
        {
            m_b_con_trans.SetNewValue(val);
        }



    }
     * */

}
